/**
 * PropertiesReader.java 上午10:06:48 2012-5-5
 * Cyber Information Technology Co.,Ltd.
 *   
 *   http://www.citchina.cn
 *   citchina.org@gmail.com
 */
package cn.cit.wcif.common.utils;

import java.io.InputStream;
import java.util.Properties;

/**
 * @author Jonathan
 * @version 1.0
 * 
 */
public class PropertiesReader {
	private final String file;
	private final Properties properties;

	/**
	 * 构造 PropertysReader
	 * 
	 * @param file
	 *            相对于classes的文件路径
	 */
	public PropertiesReader(String file) {
		this.file = file;
		this.properties = new Properties();
	}

	/**
	 * 根据资源名获取资源内容
	 * 
	 * @param key
	 *            资源文件内key
	 * @param defaultValue
	 *            默认值
	 * 
	 * @reaurn key对应的资源内容
	 */
	public String getProperty(String key, String defaultValue) {
		try {
			InputStream in = this.getClass().getClassLoader()
					.getResourceAsStream(this.file);
			properties.load(in);
		} catch (Exception ex1) {
			System.out.println("没有找到资源文件:" + this.file);
		}
		return properties.getProperty(key, defaultValue);
	}

	/**
	 * 根据资源名获取资源内容
	 * 
	 * @param key
	 *            资源文件内key
	 * @param defaultValue
	 *            默认值
	 * @param isNull
	 *            如果配置文件value为空，是否使用默认值
	 * 
	 * @reaurn key对应的资源内容
	 */
	public String getProperty(String key, String defaultValue, boolean isNull) {
		String value = null;
		value = getProperty(key, defaultValue);
		if (isNull && (value == null || "".equals(value.trim()))) {
			value = defaultValue;
		}
		return value;
	}

}
